//
//  LMBangEmojiView.m
//  MMHelp
//
/**
 *
 * @author kzzang
 ┏┓   　┏┓
 ┏┛┻━━━┛┻┓
 ┃　　　　　　　┃
 ┃　　　━　　　┃
 ┃　┳┛　┗┳　┃
 ┃　　　　　　　┃
 ┃　　　┻　　　┃
 ┃　　　　　　　┃
 ┗━┓　　　┏━┛
 ┃　　　┃   草泥马保佑
 ┃　　　┃   代码无BUG！
 ┃　　　┗━━━┓
 ┃　　　　　　　┣┓
 ┃　　　　　　　┏┛
 ┗┓┓┏━┳┓┏┛
 ┃┫┫　 ┃┫┫
 ┗┻┛　 ┗┻┛
 *
 */
//  Created by kzzang on 12-11-26.
//
//

#define kOnePageDisplayCount 24

#import "LMBangEmojiView.h"
#import "Emoji.h"
#import "EmojiView.h"
#import "ConstantHeader.h"
#import "Tool.h"
#import "HDAppDelegate.h"

@interface LMBangEmojiView()<UIScrollViewDelegate, EmojiDelegate>{
@private
    UIPageControl *pageControl;
    UIButton *backspaceButton;
    
    NSMutableSet *recycledPages;
    NSMutableSet *visiblePages;
}

@property (nonatomic, retain) UIButton *submitButton;
@property (nonatomic, retain) UIButton *cancelButton;

@end

@implementation LMBangEmojiView
@synthesize emojis = _emojis;
@synthesize emojiScrollView = _emojiScrollView;
@synthesize delegate = _delegate;
@synthesize submitType = _submitType;
@synthesize submitButton = _submitButton;
@synthesize cancelButton = _cancelButton;



#pragma mark - Setter
- (void) setEmojis:(NSArray *)emojis {
    if (_emojis != emojis) {
        _emojis = emojis;
        [self setupEmojis];
    }
}

#pragma mark - Handler Method

- (NSInteger) pageCount {
    int emojisCount=self.emojis.count;
    int pageCount = ceil(emojisCount / (float)kOnePageDisplayCount);
    //DLog(@"emojisCount:%d,pageCount:%d",emojisCount,pageCount);
    return  pageCount;
}

- (void) fillSubmitType:(LMBangEmojiViewSubmitType)submitType {
    _submitType = submitType;
    UIImage *submitTypeNormalImage = nil;
    UIImage *submitTypeHighlightImage = nil;
    if (_submitType == LMBangEmojiViewSend) {
        submitTypeNormalImage = [UIImage imageNamed:@"LMBangEmojiViewSendButtonNormal.png"];
        submitTypeHighlightImage = [UIImage imageNamed:@"LMBangEmojiViewSendButtonHighLight.png"];
    } else if (_submitType == LMBangEmojiViewSubmit) {
        submitTypeNormalImage = [UIImage imageNamed:@"LMBangEmojiViewSubmitButton_normal.png"];
        submitTypeHighlightImage = [UIImage imageNamed:@"LMBangEmojiViewSubmitButton_highlight.png"];
    }
    
    [self.submitButton setBackgroundImage:submitTypeNormalImage forState:UIControlStateNormal];
    [self.submitButton setBackgroundImage:submitTypeHighlightImage forState:UIControlStateHighlighted];
    
}


#define kEmojiButtonWidth UF(56)
- (UIView *) viewWithUserList:(int) currentPage {
    
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.emojiScrollView.frame.size.width, self.emojiScrollView.frame.size.height)];
    view.backgroundColor = [UIColor clearColor];
    
    int startCol = 0;
    int startRow = 0;
    for (int i = 1; i<= kOnePageDisplayCount; i++) {
        
        // 设置表情显示区域
        CGRect viewRect = CGRectMake(kEmojiButtonWidth * startCol + (UF(24) * startCol) + UF(10), startRow * kEmojiButtonWidth + (UF(24) * startRow), kEmojiButtonWidth, kEmojiButtonWidth);
        
        // 设置按钮
        UIButton *emojiButton = [UIButton buttonWithType:UIButtonTypeCustom];
        //emojiButton.backgroundColor = [UIColor whiteColor];
        emojiButton.frame = viewRect;
        // Memory issue
        // [emojiButton.titleLabel setFont:[UIFont fontWithName:@"Apple Color Emoji" size:kEmojiButtonWidth]];
        [emojiButton setTitleEdgeInsets:UIEdgeInsetsMake(7, 0, 0, 0)];
        int resourceIndex = ((currentPage - 1) * kOnePageDisplayCount) + (i - 1);
        NSString *emojiString = [self.emojis objectAtIndex:resourceIndex];
        [emojiButton setTitle:emojiString forState:UIControlStateNormal];
        [emojiButton addTarget:self action:@selector(emojiButtonDidClicked:) forControlEvents:UIControlEventTouchUpInside];
        [view addSubview:emojiButton];
        /*
         Emoji  *emoji = [[Emoji alloc] initWithFrame:viewRect];
         emoji.delegate = self;
         int resourceIndex = ((currentPage - 1) * kOnePageDisplayCount) + (i - 1);
         NSString *emojiString = [self.emojis objectAtIndex:resourceIndex];
         [emoji setEmojiString:emojiString];
         [view addSubview:emoji];
         [emoji release];
         */
        startCol++;
        if (i%8 == 0) {
            startCol = 0;
            startRow++;
        }
    }
    return view;
}


- (void) setupEmojis {
    
    
    
    //定义PageControll
    
    pageControl = [[UIPageControl alloc] init];
    pageControl.frame = CGRectMake(0.0f, 10.0f, [[UIScreen mainScreen] applicationFrame].size.width, 20.0f);
    [pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
    pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
    pageControl.currentPageIndicatorTintColor = [UIColor grayColor];
    
    [self addSubview:pageControl];
    
    int totalPage =[self pageCount];
    
    pageControl.numberOfPages = totalPage;
    pageControl.currentPage = 0;
    
    self.emojiScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f, 35.0f, self.frame.size.width, 145.0f)];
    self.emojiScrollView.contentSize = [self contentSizeForPagingScrollView];
    self.emojiScrollView.delegate = self;
    self.emojiScrollView.backgroundColor = [UIColor clearColor];
    self.emojiScrollView.showsHorizontalScrollIndicator = NO;
    self.emojiScrollView.showsVerticalScrollIndicator = NO;
    self.emojiScrollView.pagingEnabled = YES;
    [self addSubview:self.emojiScrollView];
    
    // Step 2: prepare to tile content
    recycledPages = [[NSMutableSet alloc] init];
    visiblePages  = [[NSMutableSet alloc] init];
    [self tilePages];
    
    
}


#pragma mark - Actions

- (void) changePage:(UIPageControl *) _pageControl {
    
    
    int page = pageControl.currentPage;
    // update the scroll view to the appropriate page
    CGRect frame = self.emojiScrollView.frame;
    frame.origin.x = frame.size.width * page;
    frame.origin.y = 0;
    [self.emojiScrollView scrollRectToVisible:frame animated:YES];
}

- (void) backspace {
    
    if (self.delegate && [self.delegate respondsToSelector:@selector(lmbangEmojiViewBackspaceButtonDidClicked:)]) {
        [self.delegate lmbangEmojiViewBackspaceButtonDidClicked:self];
    }
}

- (void) emojiButtonDidClicked:(UIButton *) button {
    
    if (self.delegate && [self.delegate respondsToSelector:@selector(lmbangEmojiView:EmojiDidClickedWithEmojiString:)]) {
        [self.delegate lmbangEmojiView:self EmojiDidClickedWithEmojiString:button.titleLabel.text];
    }
}

- (void) cancel {
    if (self.delegate && [self.delegate respondsToSelector:@selector(lmbangEmojiViewCancelButtonDidClicked:)]) {
        [self.delegate lmbangEmojiViewCancelButtonDidClicked:self];
    }
}

- (void) submit {
    if (self.delegate && [self.delegate respondsToSelector:@selector(lmbangEmojiViewSubmitButtonDidClicked:)]) {
        [self.delegate lmbangEmojiViewSubmitButtonDidClicked:self];
    }
}

#pragma mark - Init
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        UIImage *bgImage = [UIImage imageNamed:@"LMBang_emojiView_BG.png"];
        self.frame = CGRectMake(0.0f, [[UIScreen mainScreen] applicationFrame].size.height - bgImage.size.height + [UIApplication sharedApplication].statusBarFrame.size.height, [[UIScreen mainScreen] applicationFrame].size.width, bgImage.size.height);
        //self.backgroundColor = [UIColor colorWithPatternImage:bgImage];
        self.backgroundColor = [UIColor colorWithRed:230/255.0 green:235/255.0 blue:240/255.0 alpha:1];
        
        //setup Emoji List
        if (SystemVersion>=6.0) {
            self.emojis = [self ios6EmojiArray];
        }else if (SystemVersion>=5.0 && SystemVersion<6.0) {
            self.emojis = [self ios5EmojiArray];
        } else  self.emojis = [self ios4EmojiArray];
        
        
        
        //Cancel Button
        self.cancelButton = [UIButton buttonWithType:UIButtonTypeCustom];
        self.cancelButton.frame = CGRectMake(5.0f, self.frame.size.height - 57.0f, 42.0f, 47.0f);
        [self.cancelButton setBackgroundImage:[UIImage imageNamed:@"LMBangEmojiViewCancelButtonNormal.png"] forState:UIControlStateNormal];
        //[self.cancelButton setBackgroundImage:[UIImage imageNamed:@"LMBangEmojiViewCancelButtonHighlight.png"] forState:UIControlStateHighlighted];
        [self.cancelButton addTarget:self action:@selector(cancel) forControlEvents:UIControlEventTouchUpInside];
        //[self addSubview:self.cancelButton];
        
        //Backspace Button
        backspaceButton = [UIButton buttonWithType:UIButtonTypeCustom];
        backspaceButton.frame = CGRectMake(self.frame.size.width - self.cancelButton.frame.origin.x - UF(290*40*2/140), self.cancelButton.frame.origin.y, UF(290*40*2/140), UF(40*2));
        [backspaceButton setBackgroundImage:[UIImage imageNamed:@"LMBang_emojiView_DeleteButton.png"] forState:UIControlStateNormal];
        //[backspaceButton setBackgroundImage:[UIImage imageNamed:@"LMBang_emojiView_DeleteButtonHighlight.png"] forState:UIControlStateHighlighted];
        [backspaceButton addTarget:self action:@selector(backspace) forControlEvents:UIControlEventTouchUpInside];
        [self addSubview:backspaceButton];
        self.hidden = YES;
        
        //Submit Button
        self.submitButton = [UIButton buttonWithType:UIButtonTypeCustom];
        self.submitButton.frame = CGRectMake((self.frame.size.width - UF(424) - UF(290*40*2/140)) * 0.5f, self.cancelButton.frame.origin.y, UF(424), UF(40*2));
        UIImage *sendImage = [UIImage imageNamed:@"LMBangEmojiViewSendButton"];
        sendImage = [sendImage resizableImageWithCapInsets:UIEdgeInsetsMake(UF(18), UF(18), UF(18), UF(18)) resizingMode:UIImageResizingModeStretch];
        [self.submitButton setBackgroundImage:sendImage forState:UIControlStateNormal];
        [self.submitButton setTitle:@"发布" forState:UIControlStateNormal];
        [self.submitButton setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
        //[self.submitButton setBackgroundImage:[UIImage imageNamed:@"LMBangEmojiViewSendButtonHighLight.png"] forState:UIControlStateHighlighted];
        [self.submitButton addTarget:self action:@selector(submit) forControlEvents:UIControlEventTouchUpInside];
        [self addSubview:self.submitButton];
    }
    return self;
}

#pragma mark -
#pragma mark Tiling and page configuration

- (void)tilePages
{
    // Calculate which pages are visible
    CGRect visibleBounds = self.emojiScrollView.bounds;
    int firstNeededPageIndex = floorf(CGRectGetMinX(visibleBounds) / CGRectGetWidth(visibleBounds));
    int lastNeededPageIndex  = floorf((CGRectGetMaxX(visibleBounds)-1) / CGRectGetWidth(visibleBounds));
    //DLog(@"lastNeededPageIndex:%d,MIN(lastNeededPageIndex, [self pageCount] - 1):%d",lastNeededPageIndex,MIN(lastNeededPageIndex, [self pageCount] - 1));
    firstNeededPageIndex = MAX(firstNeededPageIndex, 0);
    lastNeededPageIndex  = MIN(lastNeededPageIndex, [self pageCount] - 1);
    
    // Recycle no-longer-visible pages
    for (EmojiView *page in visiblePages) {
        if (page.index < firstNeededPageIndex || page.index > lastNeededPageIndex) {
            [recycledPages addObject:page];
            [page removeFromSuperview];
        }
    }
    [visiblePages minusSet:recycledPages];
    
    // add missing pages
    for (int index = firstNeededPageIndex; index <= lastNeededPageIndex; index++) {
        if (![self isDisplayingPageForIndex:index]) {
            EmojiView *page = [self dequeueRecycledPage];
            if (page == nil) {
                page = [[EmojiView alloc] init];
                page.lmbangEmojiView = self;
            }
            [self configurePage:page forIndex:index];
            [self.emojiScrollView addSubview:page];
            [visiblePages addObject:page];
        }
    }
}

- (EmojiView *)dequeueRecycledPage
{
    EmojiView *page = [recycledPages anyObject];
    if (page) {
        [recycledPages removeObject:page];
    }
    return page;
}

- (BOOL)isDisplayingPageForIndex:(NSUInteger)index
{
    BOOL foundPage = NO;
    for (EmojiView *page in visiblePages) {
        if (page.index == index) {
            foundPage = YES;
            break;
        }
    }
    return foundPage;
}

- (void)configurePage:(EmojiView *)page forIndex:(NSUInteger)index
{
    page.index = index;
    page.frame = [self frameForPageAtIndex:index];
    
    int leftCounts=MAX(0, self.emojis.count-page.index*24-1);
    
    NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(page.index * 24, MIN(leftCounts, 24))];
    // DLog(@"set:%@,leftCounts:%d",set,leftCounts);
    
    NSArray *emojiContents = [self.emojis objectsAtIndexes:set];
    //DLog(@"emojiContents:%@",emojiContents);
    [page displayEmojiWithContents:emojiContents];
    
    // Use tiled images
    //[page displayTiledImageNamed:[self imageNameAtIndex:index]
    //                        size:[self imageSizeAtIndex:index]];
    
    // To use full images instead of tiled images, replace the "displayTiledImageNamed:" call
    // above by the following line:
    // [page displayImage:[self imageAtIndex:index]];
}



#pragma mark -
#pragma mark  Frame calculations
#define PADDING  0

- (CGRect)frameForPagingScrollView {
    CGRect frame = [[UIScreen mainScreen] bounds];
    frame.origin.x -= PADDING;
    frame.size.width += (2 * PADDING);
    return frame;
}

- (CGRect)frameForPageAtIndex:(NSUInteger)index {
    // We have to use our paging scroll view's bounds, not frame, to calculate the page placement. When the device is in
    // landscape orientation, the frame will still be in portrait because the pagingScrollView is the root view controller's
    // view, so its frame is in window coordinate space, which is never rotated. Its bounds, however, will be in landscape
    // because it has a rotation transform applied.
    CGRect bounds = self.emojiScrollView.bounds;
    CGRect pageFrame = bounds;
    pageFrame.size.width -= (2 * PADDING);
    pageFrame.origin.x = (bounds.size.width * index) + PADDING;
    return pageFrame;
}

- (CGSize)contentSizeForPagingScrollView {
    // We have to use the paging scroll view's bounds to calculate the contentSize, for the same reason outlined above.
    CGRect bounds = self.emojiScrollView.bounds;
    return CGSizeMake(bounds.size.width * [self pageCount], bounds.size.height);
}


#pragma mark -
#pragma mark - UIScrollViewDelegate
- (void) scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    int index = fabs(self.emojiScrollView.contentOffset.x) / self.emojiScrollView.frame.size.width;
    pageControl.currentPage = index;
    
    
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    [self tilePages];
}

#pragma mark - EmojiDelegate

- (void) emojiDidClickedWithEmojiString:(NSString *)emojiString {
    
    if (self.delegate && [self.delegate respondsToSelector:@selector(lmbangEmojiView:EmojiDidClickedWithEmojiString:)]) {
        [self.delegate lmbangEmojiView:self EmojiDidClickedWithEmojiString:emojiString];
    }
}
-(NSArray *)ios4EmojiArray {
    NSArray *emojis_ios4_smile=@[@"\uE415",@"\uE056",@"\uE057",@"\uE414",@"\uE405",@"\uE106",@"\uE418",@"\uE417",@"\uE40D",@"\uE40A",@"\uE404",@"\uE105",@"\uE409",@"\uE40E",@"\uE402",@"\uE108",@"\uE403",@"\uE058",@"\uE407",@"\uE401",@"\uE40F",@"\uE40B",@"\uE406",@"\uE413",@"\uE411",@"\uE412",@"\uE410",@"\uE107",@"\uE059",@"\uE416",@"\uE408",@"\uE40C",@"\uE11A",@"\uE10C",@"\uE32C",@"\uE32A",@"\uE32D",@"\uE328",@"\uE32B",@"\uE022",@"\uE023",@"\uE327",@"\uE329",@"\uE32E",@"\uE335",@"\uE334",@"\uE337",@"\uE336",@"\uE13C",@"\uE330",@"\uE331",@"\uE326",@"\uE03E",@"\uE11D",@"\uE05A",@"\uE00E",@"\uE421",@"\uE420",@"\uE00D",@"\uE010",@"\uE011",@"\uE41E",@"\uE012",@"\uE422",@"\uE22E",@"\uE22F",@"\uE231",@"\uE230",@"\uE427",@"\uE41D",@"\uE00F",@"\uE41F",@"\uE14C",@"\uE201",@"\uE115",@"\uE428",@"\uE51F",@"\uE429",@"\uE424",@"\uE423",@"\uE253",@"\uE426",@"\uE111",@"\uE425",@"\uE31E",@"\uE31F",@"\uE31D",@"\uE001",@"\uE002",@"\uE005",@"\uE004",@"\uE51A",@"\uE519",@"\uE518",@"\uE515",@"\uE516",@"\uE517",@"\uE51B",@"\uE152",@"\uE04E",@"\uE51C",@"\uE51E",@"\uE11C",@"\uE536",@"\uE003",@"\uE41C",@"\uE41B",@"\uE419",@"\uE41A"];
    //DLog(@"emojis_ios4_smile.count:%d",emojis_ios4_smile.count);
    NSArray *emojis_ios4_flower=@[@"\uE04A",@"\uE04B",@"\uE049",@"\uE048",@"\uE04C",@"\uE13D",@"\uE443",@"\uE43E",@"\uE04F",@"\uE052",@"\uE053",@"\uE524",@"\uE52C",@"\uE52A",@"\uE531",@"\uE050",@"\uE527",@"\uE051",@"\uE10B",@"\uE52B",@"\uE52F",@"\uE109",@"\uE528",@"\uE01A",@"\uE134",@"\uE530",@"\uE529",@"\uE526",@"\uE52D",@"\uE521",@"\uE523",@"\uE52E",@"\uE055",@"\uE525",@"\uE10A",@"\uE522",@"\uE019",@"\uE054",@"\uE520",@"\uE306",@"\uE030",@"\uE304",@"\uE110",@"\uE032",@"\uE305",@"\uE303",@"\uE118",@"\uE447",@"\uE119",@"\uE307",@"\uE308",@"\uE444",@"\uE441"];
    //DLog(@"emojis_ios4_flower.count:%d",emojis_ios4_flower.count);
    
    NSArray *emojis_ios4_bell=@[@"\uE436",@"\uE437",@"\uE438",@"\uE43A",@"\uE439",@"\uE43B",@"\uE117",@"\uE440",@"\uE442",@"\uE446",@"\uE445",@"\uE11B",@"\uE448",@"\uE033",@"\uE112",@"\uE325",@"\uE312",@"\uE310",@"\uE126",@"\uE127",@"\uE008",@"\uE03D",@"\uE00C",@"\uE12A",@"\uE00A",@"\uE00B",@"\uE009",@"\uE316",@"\uE129",@"\uE141",@"\uE142",@"\uE317",@"\uE128",@"\uE14B",@"\uE211",@"\uE114",@"\uE145",@"\uE144",@"\uE03F",@"\uE313",@"\uE116",@"\uE10F",@"\uE104",@"\uE103",@"\uE101",@"\uE102",@"\uE13F",@"\uE140",@"\uE11F",@"\uE12F",@"\uE031",@"\uE30E",@"\uE311",@"\uE113",@"\uE30F",@"\uE13B",@"\uE42B",@"\uE42A",@"\uE018",@"\uE016",@"\uE015",@"\uE014",@"\uE42C",@"\uE42D",@"\uE017",@"\uE013",@"\uE20E",@"\uE20C",@"\uE20F",@"\uE20D",@"\uE131",@"\uE12B",@"\uE130",@"\uE12D",@"\uE324",@"\uE301",@"\uE148",@"\uE502",@"\uE03C",@"\uE30A",@"\uE042",@"\uE040",@"\uE041",@"\uE12C",@"\uE007",@"\uE31A",@"\uE13E",@"\uE31B",@"\uE006",@"\uE302",@"\uE319",@"\uE321",@"\uE322",@"\uE314",@"\uE503",@"\uE10E",@"\uE318",@"\uE43C",@"\uE11E",@"\uE323",@"\uE31C",@"\uE034",@"\uE035",@"\uE045",@"\uE338",@"\uE047",@"\uE30C",@"\uE044",@"\uE30B",@"\uE043",@"\uE120",@"\uE33B",@"\uE33F",@"\uE341",@"\uE34C",@"\uE344",@"\uE342",@"\uE33D",@"\uE33E",@"\uE340",@"\uE34D",@"\uE339",@"\uE147",@"\uE343",@"\uE33C",@"\uE33A",@"\uE43F",@"\uE34B",@"\uE046",@"\uE345",@"\uE346",@"\uE348",@"\uE347",@"\uE34A",@"\uE349"];
    //DLog(@"emojis_ios4_bell.count:%d",emojis_ios4_bell.count);
    
    
    NSArray *emojis_ios4_vehicle=@[@"\uE036",@"\uE157",@"\uE038",@"\uE153",@"\uE155",@"\uE14D",@"\uE156",@"\uE501",@"\uE158",@"\uE43D",@"\uE037",@"\uE504",@"\uE44A",@"\uE146",@"\uE154",@"\uE505",@"\uE506",@"\uE122",@"\uE508",@"\uE509",@"\uE03B",@"\uE04D",@"\uE449",@"\uE44B",@"\uE51D",@"\uE44C",@"\uE124",@"\uE121",@"\uE433",@"\uE202",@"\uE135",@"\uE01C",@"\uE01D",@"\uE10D",@"\uE136",@"\uE42E",@"\uE01B",@"\uE15A",@"\uE159",@"\uE432",@"\uE430",@"\uE431",@"\uE42F",@"\uE01E",@"\uE039",@"\uE435",@"\uE01F",@"\uE125",@"\uE03A",@"\uE14E",@"\uE252",@"\uE137",@"\uE209",@"\uE133",@"\uE150",@"\uE320",@"\uE123",@"\uE132",@"\uE143",@"\uE50B",@"\uE514",@"\uE513",@"\uE50C",@"\uE50D",@"\uE511",@"\uE50F",@"\uE512",@"\uE510",@"\uE50E"];
    //DLog(@"emojis_ios4_vehicle.count:%d",emojis_ios4_vehicle.count);
    
    NSArray *emojis_ios4_number=@[@"\uE21C",@"\uE21D",@"\uE21E",@"\uE21F",@"\uE220",@"\uE221",@"\uE222",@"\uE223",@"\uE224",@"\uE225",@"\uE210",@"\uE232",@"\uE233",@"\uE235",@"\uE234",@"\uE236",@"\uE237",@"\uE238",@"\uE239",@"\uE23B",@"\uE23A",@"\uE23D",@"\uE23C",@"\uE24D",@"\uE212",@"\uE24C",@"\uE213",@"\uE214",@"\uE507",@"\uE203",@"\uE20B",@"\uE22A",@"\uE22B",@"\uE226",@"\uE227",@"\uE22C",@"\uE22D",@"\uE215",@"\uE216",@"\uE217",@"\uE218",@"\uE228",@"\uE151",@"\uE138",@"\uE139",@"\uE13A",@"\uE208",@"\uE14F",@"\uE20A",@"\uE434",@"\uE309",@"\uE315",@"\uE30D",@"\uE207",@"\uE229",@"\uE206",@"\uE205",@"\uE204",@"\uE12E",@"\uE250",@"\uE251",@"\uE14A",@"\uE149",@"\uE23F",@"\uE240",@"\uE241",@"\uE242",@"\uE243",@"\uE244",@"\uE245",@"\uE246",@"\uE247",@"\uE248",@"\uE249",@"\uE24A",@"\uE24B",@"\uE23E",@"\uE532",@"\uE533",@"\uE534",@"\uE535",@"\uE21A",@"\uE219",@"\uE21B",@"\uE02F",@"\uE024",@"\uE025",@"\uE026",@"\uE027",@"\uE028",@"\uE029",@"\uE02A",@"\uE02B",@"\uE02C",@"\uE02D",@"\uE02E",@"\uE332",@"\uE333",@"\uE24E",@"\uE24F",@"\uE537"];
    //DLog(@"emojis_ios4_number.count:%d",emojis_ios4_number.count);
    
    
    int allCount = emojis_ios4_smile.count+emojis_ios4_flower.count+emojis_ios4_bell.count+emojis_ios4_vehicle.count+emojis_ios4_number.count;
    
    //DLog(@"allCount%d",allCount);
    
    NSMutableArray *keyBoardEmojis=[NSMutableArray arrayWithArray:emojis_ios4_smile];
    [keyBoardEmojis addObjectsFromArray:emojis_ios4_flower];
    return keyBoardEmojis;
}


- (NSArray *)ios5EmojiArray {
    NSArray *emojis_ios5_smile=@[@"\xF0\x9F\x98\x84",@"\xF0\x9F\x98\x8A",@"\xF0\x9F\x98\x83",@"\xE2\x98\xBA",@"\xF0\x9F\x98\x89",@"\xF0\x9F\x98\x8D",@"\xF0\x9F\x98\x98",@"\xF0\x9F\x98\x9A",@"\xF0\x9F\x98\xB3",@"\xF0\x9F\x98\x8C",@"\xF0\x9F\x98\x81",@"\xF0\x9F\x98\x9C",@"\xF0\x9F\x98\x9D",@"\xF0\x9F\x98\x92",@"\xF0\x9F\x98\x8F",@"\xF0\x9F\x98\x93",@"\xF0\x9F\x98\x94",@"\xF0\x9F\x98\x9E",@"\xF0\x9F\x98\x96",@"\xF0\x9F\x98\xA5",@"\xF0\x9F\x98\xB0",@"\xF0\x9F\x98\xA8",@"\xF0\x9F\x98\xA3",@"\xF0\x9F\x98\xA2",@"\xF0\x9F\x98\xAD",@"\xF0\x9F\x98\x82",@"\xF0\x9F\x98\xB2",@"\xF0\x9F\x98\xB1",@"\xF0\x9F\x98\xA0",@"\xF0\x9F\x98\xA1",@"\xF0\x9F\x98\xAA",@"\xF0\x9F\x98\xB7",@"\xF0\x9F\x91\xBF",@"\xF0\x9F\x91\xBD",@"\xF0\x9F\x92\x9B",@"\xF0\x9F\x92\x99",@"\xF0\x9F\x92\x9C",@"\xF0\x9F\x92\x97",@"\xF0\x9F\x92\x9A",@"\xE2\x9D\xA4",@"\xF0\x9F\x92\x94",@"\xF0\x9F\x92\x93",@"\xF0\x9F\x92\x98",@"\xE2\x9C\xA8",@"\xF0\x9F\x8C\x9F",@"\xF0\x9F\x92\xA2",@"\xE2\x9D\x95",@"\xE2\x9D\x94",@"\xF0\x9F\x92\xA4",@"\xF0\x9F\x92\xA8",@"\xF0\x9F\x92\xA6",@"\xF0\x9F\x8E\xB6",@"\xF0\x9F\x8E\xB5",@"\xF0\x9F\x94\xA5",@"\xF0\x9F\x92\xA9",@"\xF0\x9F\x91\x8D",@"\xF0\x9F\x91\x8E",@"\xF0\x9F\x91\x8C",@"\xF0\x9F\x91\x8A",@"\xE2\x9C\x8A",@"\xE2\x9C\x8C",@"\xF0\x9F\x91\x8B",@"\xE2\x9C\x8B",@"\xF0\x9F\x91\x90",@"\xF0\x9F\x91\x86",@"\xF0\x9F\x91\x87",@"\xF0\x9F\x91\x89",@"\xF0\x9F\x91\x88",@"\xF0\x9F\x99\x8C",@"\xF0\x9F\x99\x8F",@"\xE2\x98\x9D",@"\xF0\x9F\x91\x8F",@"\xF0\x9F\x92\xAA",@"\xF0\x9F\x9A\xB6",@"\xF0\x9F\x8F\x83",@"\xF0\x9F\x91\xAB",@"\xF0\x9F\x92\x83",@"\xF0\x9F\x91\xAF",@"\xF0\x9F\x99\x86",@"\xF0\x9F\x99\x85",@"\xF0\x9F\x92\x81",@"\xF0\x9F\x99\x87",@"\xF0\x9F\x92\x8F",@"\xF0\x9F\x92\x91",@"\xF0\x9F\x92\x86",@"\xF0\x9F\x92\x87",@"\xF0\x9F\x92\x85",@"\xF0\x9F\x91\xA6",@"\xF0\x9F\x91\xA7",@"\xF0\x9F\x91\xA9",@"\xF0\x9F\x91\xA8",@"\xF0\x9F\x91\xB6",@"\xF0\x9F\x91\xB5",@"\xF0\x9F\x91\xB4",@"\xF0\x9F\x91\xB1",@"\xF0\x9F\x91\xB2",@"\xF0\x9F\x91\xB3",@"\xF0\x9F\x91\xB7",@"\xF0\x9F\x91\xAE",@"\xF0\x9F\x91\xBC",@"\xF0\x9F\x91\xB8",@"\xF0\x9F\x92\x82",@"\xF0\x9F\x92\x80",@"\xF0\x9F\x91\xA3",@"\xF0\x9F\x92\x8B",@"\xF0\x9F\x91\x84",@"\xF0\x9F\x91\x82",@"\xF0\x9F\x91\x80",@"\xF0\x9F\x91\x83"];
    //DLog(@"emojis_ios5_smile.count:%d",emojis_ios5_smile.count);
    
    
    NSArray *emojis_ios5_flower=@[@"\xE2\x98\x80",@"\xE2\x98\x94",@"\xE2\x98\x81",@"\xE2\x9B\x84",@"\xF0\x9F\x8C\x99",@"\xE2\x9A\xA1",@"\xF0\x9F\x8C\x80",@"\xF0\x9F\x8C\x8A",@"\xF0\x9F\x90\xB1",@"\xF0\x9F\x90\xB6",@"\xF0\x9F\x90\xAD",@"\xF0\x9F\x90\xB9",@"\xF0\x9F\x90\xB0",@"\xF0\x9F\x90\xBA",@"\xF0\x9F\x90\xB8",@"\xF0\x9F\x90\xAF",@"\xF0\x9F\x90\xA8",@"\xF0\x9F\x90\xBB",@"\xF0\x9F\x90\xB7",@"\xF0\x9F\x90\xAE",@"\xF0\x9F\x90\x97",@"\xF0\x9F\x90\xB5",@"\xF0\x9F\x90\x92",@"\xF0\x9F\x90\xB4",@"\xF0\x9F\x90\x8E",@"\xF0\x9F\x90\xAB",@"\xF0\x9F\x90\x91",@"\xF0\x9F\x90\x98",@"\xF0\x9F\x90\x8D",@"\xF0\x9F\x90\xA6",@"\xF0\x9F\x90\xA4",@"\xF0\x9F\x90\x94",@"\xF0\x9F\x90\xA7",@"\xF0\x9F\x90\x9B",@"\xF0\x9F\x90\x99",@"\xF0\x9F\x90\xA0",@"\xF0\x9F\x90\x9F",@"\xF0\x9F\x90\xB3",@"\xF0\x9F\x90\xAC",@"\xF0\x9F\x92\x90",@"\xF0\x9F\x8C\xB8",@"\xF0\x9F\x8C\xB7",@"\xF0\x9F\x8D\x80",@"\xF0\x9F\x8C\xB9",@"\xF0\x9F\x8C\xBB",@"\xF0\x9F\x8C\xBA",@"\xF0\x9F\x8D\x81",@"\xF0\x9F\x8D\x83",@"\xF0\x9F\x8D\x82",@"\xF0\x9F\x8C\xB4",@"\xF0\x9F\x8C\xB5",@"\xF0\x9F\x8C\xBE",@"\xF0\x9F\x90\x9A"];
    //DLog(@"emojis_ios5_flower.count:%d",emojis_ios5_flower.count);
    
    NSArray *emojis_ios5_bell=@[@"\xF0\x9F\x8E\x8D",@"\xF0\x9F\x92\x9D",@"\xF0\x9F\x8E\x8E",@"\xF0\x9F\x8E\x92",@"\xF0\x9F\x8E\x93",@"\xF0\x9F\x8E\x8F",@"\xF0\x9F\x8E\x86",@"\xF0\x9F\x8E\x87",@"\xF0\x9F\x8E\x90",@"\xF0\x9F\x8E\x91",@"\xF0\x9F\x8E\x83",@"\xF0\x9F\x91\xBB",@"\xF0\x9F\x8E\x85",@"\xF0\x9F\x8E\x84",@"\xF0\x9F\x8E\x81",@"\xF0\x9F\x94\x94",@"\xF0\x9F\x8E\x89",@"\xF0\x9F\x8E\x88",@"\xF0\x9F\x92\xBF",@"\xF0\x9F\x93\x80",@"\xF0\x9F\x93\xB7",@"\xF0\x9F\x8E\xA5",@"\xF0\x9F\x92\xBB",@"\xF0\x9F\x93\xBA",@"\xF0\x9F\x93\xB1",@"\xF0\x9F\x93\xA0",@"\xE2\x98\x8E",@"\xF0\x9F\x92\xBD",@"\xF0\x9F\x93\xBC",@"\xF0\x9F\x94\x8A",@"\xF0\x9F\x93\xA2",@"\xF0\x9F\x93\xA3",@"\xF0\x9F\x93\xBB",@"\xF0\x9F\x93\xA1",@"\xE2\x9E\xBF",@"\xF0\x9F\x94\x8D",@"\xF0\x9F\x94\x93",@"\xF0\x9F\x94\x92",@"\xF0\x9F\x94\x91",@"\xE2\x9C\x82",@"\xF0\x9F\x94\xA8",@"\xF0\x9F\x92\xA1",@"\xF0\x9F\x93\xB2",@"\xF0\x9F\x93\xA9",@"\xF0\x9F\x93\xAB",@"\xF0\x9F\x93\xAE",@"\xF0\x9F\x9B\x80",@"\xF0\x9F\x9A\xBD",@"\xF0\x9F\x92\xBA",@"\xF0\x9F\x92\xB0",@"\xF0\x9F\x94\xB1",@"\xF0\x9F\x9A\xAC",@"\xF0\x9F\x92\xA3",@"\xF0\x9F\x94\xAB",@"\xF0\x9F\x92\x8A",@"\xF0\x9F\x92\x89",@"\xF0\x9F\x8F\x88",@"\xF0\x9F\x8F\x80",@"\xE2\x9A\xBD",@"\xE2\x9A\xBE",@"\xF0\x9F\x8E\xBE",@"\xE2\x9B\xB3",@"\xF0\x9F\x8E\xB1",@"\xF0\x9F\x8F\x8A",@"\xF0\x9F\x8F\x84",@"\xF0\x9F\x8E\xBF",@"\xE2\x99\xA0",@"\xE2\x99\xA5",@"\xE2\x99\xA3",@"\xE2\x99\xA6",@"\xF0\x9F\x8F\x86",@"\xF0\x9F\x91\xBE",@"\xF0\x9F\x8E\xAF",@"\xF0\x9F\x80\x84",@"\xF0\x9F\x8E\xAC",@"\xF0\x9F\x93\x9D",@"\xF0\x9F\x93\x96",@"\xF0\x9F\x8E\xA8",@"\xF0\x9F\x8E\xA4",@"\xF0\x9F\x8E\xA7",@"\xF0\x9F\x8E\xBA",@"\xF0\x9F\x8E\xB7",@"\xF0\x9F\x8E\xB8",@"\xE3\x80\xBD",@"\xF0\x9F\x91\x9F",@"\xF0\x9F\x91\xA1",@"\xF0\x9F\x91\xA0",@"\xF0\x9F\x91\xA2",@"\xF0\x9F\x91\x95",@"\xF0\x9F\x91\x94",@"\xF0\x9F\x91\x97",@"\xF0\x9F\x91\x98",@"\xF0\x9F\x91\x99",@"\xF0\x9F\x8E\x80",@"\xF0\x9F\x8E\xA9",@"\xF0\x9F\x91\x91",@"\xF0\x9F\x91\x92",@"\xF0\x9F\x8C\x82",@"\xF0\x9F\x92\xBC",@"\xF0\x9F\x91\x9C",@"\xF0\x9F\x92\x84",@"\xF0\x9F\x92\x8D",@"\xF0\x9F\x92\x8E",@"\xE2\x98\x95",@"\xF0\x9F\x8D\xB5",@"\xF0\x9F\x8D\xBA",@"\xF0\x9F\x8D\xBB",@"\xF0\x9F\x8D\xB8",@"\xF0\x9F\x8D\xB6",@"\xF0\x9F\x8D\xB4",@"\xF0\x9F\x8D\x94",@"\xF0\x9F\x8D\x9F",@"\xF0\x9F\x8D\x9D",@"\xF0\x9F\x8D\x9B",@"\xF0\x9F\x8D\xB1",@"\xF0\x9F\x8D\xA3",@"\xF0\x9F\x8D\x99",@"\xF0\x9F\x8D\x98",@"\xF0\x9F\x8D\x9A",@"\xF0\x9F\x8D\x9C",@"\xF0\x9F\x8D\xB2",@"\xF0\x9F\x8D\x9E",@"\xF0\x9F\x8D\xB3",@"\xF0\x9F\x8D\xA2",@"\xF0\x9F\x8D\xA1",@"\xF0\x9F\x8D\xA6",@"\xF0\x9F\x8D\xA7",@"\xF0\x9F\x8E\x82",@"\xF0\x9F\x8D\xB0",@"\xF0\x9F\x8D\x8E",@"\xF0\x9F\x8D\x8A",@"\xF0\x9F\x8D\x89",@"\xF0\x9F\x8D\x93",@"\xF0\x9F\x8D\x86",@"\xF0\x9F\x8D\x85"];
    //DLog(@"emojis_ios5_bell.count:%d",emojis_ios5_bell.count);
    
    NSArray *emojis_ios5_vehicle=@[@"\xF0\x9F\x8F\xA0",@"\xF0\x9F\x8F\xAB",@"\xF0\x9F\x8F\xA2",@"\xF0\x9F\x8F\xA3",@"\xF0\x9F\x8F\xA5",@"\xF0\x9F\x8F\xA6",@"\xF0\x9F\x8F\xAA",@"\xF0\x9F\x8F\xA9",@"\xF0\x9F\x8F\xA8",@"\xF0\x9F\x92\x92",@"\xE2\x9B\xAA",@"\xF0\x9F\x8F\xAC",@"\xF0\x9F\x8C\x87",@"\xF0\x9F\x8C\x86",@"\xF0\x9F\x8F\xA7",@"\xF0\x9F\x8F\xAF",@"\xF0\x9F\x8F\xB0",@"\xE2\x9B\xBA",@"\xF0\x9F\x8F\xAD",@"\xF0\x9F\x97\xBC",@"\xF0\x9F\x97\xBB",@"\xF0\x9F\x8C\x84",@"\xF0\x9F\x8C\x85",@"\xF0\x9F\x8C\x83",@"\xF0\x9F\x97\xBD",@"\xF0\x9F\x8C\x88",@"\xF0\x9F\x8E\xA1",@"\xE2\x9B\xB2",@"\xF0\x9F\x8E\xA2",@"\xF0\x9F\x9A\xA2",@"\xF0\x9F\x9A\xA4",@"\xE2\x9B\xB5",@"\xE2\x9C\x88",@"\xF0\x9F\x9A\x80",@"\xF0\x9F\x9A\xB2",@"\xF0\x9F\x9A\x99",@"\xF0\x9F\x9A\x97",@"\xF0\x9F\x9A\x95",@"\xF0\x9F\x9A\x8C",@"\xF0\x9F\x9A\x93",@"\xF0\x9F\x9A\x92",@"\xF0\x9F\x9A\x91",@"\xF0\x9F\x9A\x9A",@"\xF0\x9F\x9A\x83",@"\xF0\x9F\x9A\x89",@"\xF0\x9F\x9A\x84",@"\xF0\x9F\x9A\x85",@"\xF0\x9F\x8E\xAB",@"\xE2\x9B\xBD",@"\xF0\x9F\x9A\xA5",@"\xE2\x9A\xA0",@"\xF0\x9F\x9A\xA7",@"\xF0\x9F\x94\xB0",@"\xF0\x9F\x8E\xB0",@"\xF0\x9F\x9A\x8F",@"\xF0\x9F\x92\x88",@"\xE2\x99\xA8",@"\xF0\x9F\x8F\x81",@"\xF0\x9F\x8E\x8C",@"\xF0\x9F\x87\xAF\xF0\x9F\x87\xB5",@"\xF0\x9F\x87\xB0\xF0\x9F\x87\xB7",@"\xF0\x9F\x87\xA8\xF0\x9F\x87\xB3",@"\xF0\x9F\x87\xBA\xF0\x9F\x87\xB8",@"\xF0\x9F\x87\xAB\xF0\x9F\x87\xB7",@"\xF0\x9F\x87\xAA\xF0\x9F\x87\xB8",@"\xF0\x9F\x87\xAE\xF0\x9F\x87\xB9",@"\xF0\x9F\x87\xB7\xF0\x9F\x87\xBA",@"\xF0\x9F\x87\xAC\xF0\x9F\x87\xA7",@"\xF0\x9F\x87\xA9\xF0\x9F\x87\xAA"];
    //DLog(@"emojis_ios5_vehicle.count:%d",emojis_ios5_vehicle.count);
    
    NSArray *emojis_ios5_number=@[@"\x31\xE2\x83\xA3",@"\x32\xE2\x83\xA3",@"\x33\xE2\x83\xA3",@"\x34\xE2\x83\xA3",@"\x35\xE2\x83\xA3",@"\x36\xE2\x83\xA3",@"\x37\xE2\x83\xA3",@"\x38\xE2\x83\xA3",@"\x39\xE2\x83\xA3",@"\x30\xE2\x83\xA3",@"\x23\xE2\x83\xA3",@"\xE2\xAC\x86",@"\xE2\xAC\x87",@"\xE2\xAC\x85",@"\xE2\x9E\xA1",@"\xE2\x86\x97",@"\xE2\x86\x96",@"\xE2\x86\x98",@"\xE2\x86\x99",@"\xE2\x97\x80",@"\xE2\x96\xB6",@"\xE2\x8F\xAA",@"\xE2\x8F\xA9",@"\xF0\x9F\x86\x97",@"\xF0\x9F\x86\x95",@"\xF0\x9F\x94\x9D",@"\xF0\x9F\x86\x99",@"\xF0\x9F\x86\x92",@"\xF0\x9F\x8E\xA6",@"\xF0\x9F\x88\x81",@"\xF0\x9F\x93\xB6",@"\xF0\x9F\x88\xB5",@"\xF0\x9F\x88\xB3",@"\xF0\x9F\x89\x90",@"\xF0\x9F\x88\xB9",@"\xF0\x9F\x88\xAF",@"\xF0\x9F\x88\xBA",@"\xF0\x9F\x88\xB6",@"\xF0\x9F\x88\x9A",@"\xF0\x9F\x88\xB7",@"\xF0\x9F\x88\xB8",@"\xF0\x9F\x88\x82",@"\xF0\x9F\x9A\xBB",@"\xF0\x9F\x9A\xB9",@"\xF0\x9F\x9A\xBA",@"\xF0\x9F\x9A\xBC",@"\xF0\x9F\x9A\xAD",@"\xF0\x9F\x85\xBF",@"\xE2\x99\xBF",@"\xF0\x9F\x9A\x87",@"\xF0\x9F\x9A\xBE",@"\xE3\x8A\x99",@"\xE3\x8A\x97",@"\xF0\x9F\x94\x9E",@"\xF0\x9F\x86\x94",@"\xE2\x9C\xB3",@"\xE2\x9C\xB4",@"\xF0\x9F\x92\x9F",@"\xF0\x9F\x86\x9A",@"\xF0\x9F\x93\xB3",@"\xF0\x9F\x93\xB4",@"\xF0\x9F\x92\xB9",@"\xF0\x9F\x92\xB1",@"\xE2\x99\x88",@"\xE2\x99\x89",@"\xE2\x99\x8A",@"\xE2\x99\x8B",@"\xE2\x99\x8C",@"\xE2\x99\x8D",@"\xE2\x99\x8E",@"\xE2\x99\x8F",@"\xE2\x99\x90",@"\xE2\x99\x91",@"\xE2\x99\x92",@"\xE2\x99\x93",@"\xE2\x9B\x8E",@"\xF0\x9F\x94\xAF",@"\xF0\x9F\x85\xB0",@"\xF0\x9F\x85\xB1",@"\xF0\x9F\x86\x8E",@"\xF0\x9F\x85\xBE",@"\xF0\x9F\x94\xB2",@"\xF0\x9F\x94\xB4",@"\xF0\x9F\x94\xB3",@"\xF0\x9F\x95\x9B",@"\xF0\x9F\x95\x90",@"\xF0\x9F\x95\x91",@"\xF0\x9F\x95\x92",@"\xF0\x9F\x95\x93",@"\xF0\x9F\x95\x94",@"\xF0\x9F\x95\x95",@"\xF0\x9F\x95\x96",@"\xF0\x9F\x95\x97",@"\xF0\x9F\x95\x98",@"\xF0\x9F\x95\x99",@"\xF0\x9F\x95\x9A",@"\xE2\xAD\x95",@"\xE2\x9D\x8C",@"\xC2\xA9",@"\xC2\xAE",@"\xE2\x84\xA2"];
    //DLog(@"emojis_ios5_number.count:%d",emojis_ios5_number.count);
    
    NSMutableArray *keyBoardEmojis=[NSMutableArray arrayWithArray:emojis_ios5_smile];
    [keyBoardEmojis addObjectsFromArray:emojis_ios5_flower];
    return keyBoardEmojis;
}

- (NSArray *)ios6EmojiArray{

    NSArray *ios6EmojiArr = [ApplicationDelegate emojiStrings];
    
    NSMutableArray *array = [NSMutableArray array];
    
    
    //smile_1,
    [array addObject:[ios6EmojiArr objectAtIndex:0]];
    [array addObject:[ios6EmojiArr objectAtIndex:2]];
    [array addObject:[ios6EmojiArr objectAtIndex:467]];
    [array addObject:[ios6EmojiArr objectAtIndex:1]];
    [array addObject:[ios6EmojiArr objectAtIndex:3]];
    [array addObject:[ios6EmojiArr objectAtIndex:4]];
    [array addObject:[ios6EmojiArr objectAtIndex:5]];
    [array addObject:[ios6EmojiArr objectAtIndex:6]];
    [array addObject:[ios6EmojiArr objectAtIndex:7]];
    [array addObject:[ios6EmojiArr objectAtIndex:469]];
    [array addObject:[ios6EmojiArr objectAtIndex:470]];
    [array addObject:[ios6EmojiArr objectAtIndex:11]];
    [array addObject:[ios6EmojiArr objectAtIndex:12]];
    [array addObject:[ios6EmojiArr objectAtIndex:471]];
    [array addObject:[ios6EmojiArr objectAtIndex:8]];
    [array addObject:[ios6EmojiArr objectAtIndex:10]];
    [array addObject:[ios6EmojiArr objectAtIndex:16]];
    [array addObject:[ios6EmojiArr objectAtIndex:9]];
    [array addObject:[ios6EmojiArr objectAtIndex:13]];
    [array addObject:[ios6EmojiArr objectAtIndex:17]];
    [array addObject:[ios6EmojiArr objectAtIndex:22]];
    
    //smile_2,
    [array addObject:[ios6EmojiArr objectAtIndex:23]];
    [array addObject:[ios6EmojiArr objectAtIndex:25]]; [array addObject:[ios6EmojiArr objectAtIndex:24]]; [array addObject:[ios6EmojiArr objectAtIndex:30]];
    [array addObject:[ios6EmojiArr objectAtIndex:19]]; [array addObject:[ios6EmojiArr objectAtIndex:20]]; [array addObject:[ios6EmojiArr objectAtIndex:472]];
    [array addObject:[ios6EmojiArr objectAtIndex:15]]; [array addObject:[ios6EmojiArr objectAtIndex:473]]; [array addObject:[ios6EmojiArr objectAtIndex:474]];
    [array addObject:[ios6EmojiArr objectAtIndex:21]]; [array addObject:[ios6EmojiArr objectAtIndex:27]]; [array addObject:[ios6EmojiArr objectAtIndex:28]];
    [array addObject:[ios6EmojiArr objectAtIndex:29]]; [array addObject:[ios6EmojiArr objectAtIndex:475]]; [array addObject:[ios6EmojiArr objectAtIndex:18]];
    [array addObject:[ios6EmojiArr objectAtIndex:476]]; [array addObject:[ios6EmojiArr objectAtIndex:477]]; [array addObject:[ios6EmojiArr objectAtIndex:31]];
    [array addObject:[ios6EmojiArr objectAtIndex:478]]; [array addObject:[ios6EmojiArr objectAtIndex:479]];
    
    //smile_3,
    [array addObject:[ios6EmojiArr objectAtIndex:480]];
    [array addObject:[ios6EmojiArr objectAtIndex:26]]; [array addObject:[ios6EmojiArr objectAtIndex:481]]; [array addObject:[ios6EmojiArr objectAtIndex:482]];
    [array addObject:[ios6EmojiArr objectAtIndex:483]]; [array addObject:[ios6EmojiArr objectAtIndex:484]]; [array addObject:[ios6EmojiArr objectAtIndex:32]];
    [array addObject:[ios6EmojiArr objectAtIndex:485]]; [array addObject:[ios6EmojiArr objectAtIndex:486]]; [array addObject:[ios6EmojiArr objectAtIndex:487]];
    [array addObject:[ios6EmojiArr objectAtIndex:488]]; [array addObject:[ios6EmojiArr objectAtIndex:489]]; [array addObject:[ios6EmojiArr objectAtIndex:490]];
    [array addObject:[ios6EmojiArr objectAtIndex:491]]; [array addObject:[ios6EmojiArr objectAtIndex:14]]; [array addObject:[ios6EmojiArr objectAtIndex:492]];
    [array addObject:[ios6EmojiArr objectAtIndex:95]]; [array addObject:[ios6EmojiArr objectAtIndex:96]]; [array addObject:[ios6EmojiArr objectAtIndex:98]];
    [array addObject:[ios6EmojiArr objectAtIndex:97]]; [array addObject:[ios6EmojiArr objectAtIndex:101]];
    
    
    //smile_4,
    [array addObject:[ios6EmojiArr objectAtIndex:91]];
    [array addObject:[ios6EmojiArr objectAtIndex:87]]; [array addObject:[ios6EmojiArr objectAtIndex:88]]; [array addObject:[ios6EmojiArr objectAtIndex:90]];
    [array addObject:[ios6EmojiArr objectAtIndex:89]]; [array addObject:[ios6EmojiArr objectAtIndex:93]]; [array addObject:[ios6EmojiArr objectAtIndex:92]];
    [array addObject:[ios6EmojiArr objectAtIndex:94]]; [array addObject:[ios6EmojiArr objectAtIndex:99]]; [array addObject:[ios6EmojiArr objectAtIndex:100]];
    [array addObject:[ios6EmojiArr objectAtIndex:493]]; [array addObject:[ios6EmojiArr objectAtIndex:494]]; [array addObject:[ios6EmojiArr objectAtIndex:495]];
    [array addObject:[ios6EmojiArr objectAtIndex:496]]; [array addObject:[ios6EmojiArr objectAtIndex:497]]; [array addObject:[ios6EmojiArr objectAtIndex:498]];
    [array addObject:[ios6EmojiArr objectAtIndex:499]]; [array addObject:[ios6EmojiArr objectAtIndex:500]]; [array addObject:[ios6EmojiArr objectAtIndex:501]];
    [array addObject:[ios6EmojiArr objectAtIndex:502]]; [array addObject:[ios6EmojiArr objectAtIndex:503]];
    
    //smile_5,
    [array addObject:[ios6EmojiArr objectAtIndex:504]];
    [array addObject:[ios6EmojiArr objectAtIndex:505]]; [array addObject:[ios6EmojiArr objectAtIndex:506]]; [array addObject:[ios6EmojiArr objectAtIndex:102]];
    [array addObject:[ios6EmojiArr objectAtIndex:33]]; [array addObject:[ios6EmojiArr objectAtIndex:54]]; [array addObject:[ios6EmojiArr objectAtIndex:53]];
    [array addObject:[ios6EmojiArr objectAtIndex:43]]; [array addObject:[ios6EmojiArr objectAtIndex:44]]; [array addObject:[ios6EmojiArr objectAtIndex:508]];
    [array addObject:[ios6EmojiArr objectAtIndex:509]]; [array addObject:[ios6EmojiArr objectAtIndex:45]]; [array addObject:[ios6EmojiArr objectAtIndex:50]];
    [array addObject:[ios6EmojiArr objectAtIndex:510]]; [array addObject:[ios6EmojiArr objectAtIndex:48]]; [array addObject:[ios6EmojiArr objectAtIndex:49]];
    [array addObject:[ios6EmojiArr objectAtIndex:106]]; [array addObject:[ios6EmojiArr objectAtIndex:107]]; [array addObject:[ios6EmojiArr objectAtIndex:108]];
    [array addObject:[ios6EmojiArr objectAtIndex:511]]; [array addObject:[ios6EmojiArr objectAtIndex:105]];
    //smile_6,
    [array addObject:[ios6EmojiArr objectAtIndex:55]];
    [array addObject:[ios6EmojiArr objectAtIndex:56]]; [array addObject:[ios6EmojiArr objectAtIndex:57]]; [array addObject:[ios6EmojiArr objectAtIndex:58]];
    [array addObject:[ios6EmojiArr objectAtIndex:59]]; [array addObject:[ios6EmojiArr objectAtIndex:60]]; [array addObject:[ios6EmojiArr objectAtIndex:61]];
    [array addObject:[ios6EmojiArr objectAtIndex:62]]; [array addObject:[ios6EmojiArr objectAtIndex:63]]; [array addObject:[ios6EmojiArr objectAtIndex:64]];
    [array addObject:[ios6EmojiArr objectAtIndex:65]]; [array addObject:[ios6EmojiArr objectAtIndex:66]]; [array addObject:[ios6EmojiArr objectAtIndex:67]];
    [array addObject:[ios6EmojiArr objectAtIndex:68]]; [array addObject:[ios6EmojiArr objectAtIndex:69]]; [array addObject:[ios6EmojiArr objectAtIndex:70]];
    [array addObject:[ios6EmojiArr objectAtIndex:71]]; [array addObject:[ios6EmojiArr objectAtIndex:72]]; [array addObject:[ios6EmojiArr objectAtIndex:73]];
    [array addObject:[ios6EmojiArr objectAtIndex:74]]; [array addObject:[ios6EmojiArr objectAtIndex:76]];
    //smile_7,
    [array addObject:[ios6EmojiArr objectAtIndex:75]];
    [array addObject:[ios6EmojiArr objectAtIndex:516]]; [array addObject:[ios6EmojiArr objectAtIndex:517]]; [array addObject:[ios6EmojiArr objectAtIndex:518]];
    [array addObject:[ios6EmojiArr objectAtIndex:82]]; [array addObject:[ios6EmojiArr objectAtIndex:83]]; [array addObject:[ios6EmojiArr objectAtIndex:77]];
    [array addObject:[ios6EmojiArr objectAtIndex:78]]; [array addObject:[ios6EmojiArr objectAtIndex:79]]; [array addObject:[ios6EmojiArr objectAtIndex:80]];
    [array addObject:[ios6EmojiArr objectAtIndex:519]]; [array addObject:[ios6EmojiArr objectAtIndex:84]]; [array addObject:[ios6EmojiArr objectAtIndex:85]];
    [array addObject:[ios6EmojiArr objectAtIndex:86]]; [array addObject:[ios6EmojiArr objectAtIndex:520]]; [array addObject:[ios6EmojiArr objectAtIndex:521]];
    [array addObject:[ios6EmojiArr objectAtIndex:522]]; [array addObject:[ios6EmojiArr objectAtIndex:81]]; [array addObject:[ios6EmojiArr objectAtIndex:203]];
    [array addObject:[ios6EmojiArr objectAtIndex:204]]; [array addObject:[ios6EmojiArr objectAtIndex:205]];
    //smile_8,
    [array addObject:[ios6EmojiArr objectAtIndex:193]];
    [array addObject:[ios6EmojiArr objectAtIndex:523]]; [array addObject:[ios6EmojiArr objectAtIndex:194]]; [array addObject:[ios6EmojiArr objectAtIndex:195]];
    [array addObject:[ios6EmojiArr objectAtIndex:196]]; [array addObject:[ios6EmojiArr objectAtIndex:197]]; [array addObject:[ios6EmojiArr objectAtIndex:198]];
    [array addObject:[ios6EmojiArr objectAtIndex:524]]; [array addObject:[ios6EmojiArr objectAtIndex:199]]; [array addObject:[ios6EmojiArr objectAtIndex:525]];
    [array addObject:[ios6EmojiArr objectAtIndex:526]]; [array addObject:[ios6EmojiArr objectAtIndex:200]]; [array addObject:[ios6EmojiArr objectAtIndex:201]];
    [array addObject:[ios6EmojiArr objectAtIndex:207]]; [array addObject:[ios6EmojiArr objectAtIndex:208]]; [array addObject:[ios6EmojiArr objectAtIndex:527]];
    [array addObject:[ios6EmojiArr objectAtIndex:528]]; [array addObject:[ios6EmojiArr objectAtIndex:529]]; [array addObject:[ios6EmojiArr objectAtIndex:202]];
    [array addObject:[ios6EmojiArr objectAtIndex:206]]; [array addObject:[ios6EmojiArr objectAtIndex:209]];
    //smile_9,
    [array addObject:[ios6EmojiArr objectAtIndex:34]];[array addObject:[ios6EmojiArr objectAtIndex:35]]; [array addObject:[ios6EmojiArr objectAtIndex:36]]; [array addObject:[ios6EmojiArr objectAtIndex:38]];
    [array addObject:[ios6EmojiArr objectAtIndex:39]]; [array addObject:[ios6EmojiArr objectAtIndex:40]]; [array addObject:[ios6EmojiArr objectAtIndex:37]];
    [array addObject:[ios6EmojiArr objectAtIndex:41]]; [array addObject:[ios6EmojiArr objectAtIndex:531]]; [array addObject:[ios6EmojiArr objectAtIndex:532]];
    [array addObject:[ios6EmojiArr objectAtIndex:533]]; [array addObject:[ios6EmojiArr objectAtIndex:42]]; [array addObject:[ios6EmojiArr objectAtIndex:534]];
    [array addObject:[ios6EmojiArr objectAtIndex:104]]; [array addObject:[ios6EmojiArr objectAtIndex:210]]; [array addObject:[ios6EmojiArr objectAtIndex:211]];
    [array addObject:[ios6EmojiArr objectAtIndex:535]]; [array addObject:[ios6EmojiArr objectAtIndex:536]]; [array addObject:[ios6EmojiArr objectAtIndex:537]];
    [array addObject:[ios6EmojiArr objectAtIndex:103]]; [array addObject:[ios6EmojiArr objectAtIndex:538]];
    [array addObject:[ios6EmojiArr objectAtIndex:539]];
    return array;
}
    /*- (NSArray *)ios4EmojiArray {
     NSArray *arr = [[NSArray alloc] initWithObjects:@"\uE415",@"\uE056",@"\uE057",@"\uE414",@"\uE405",@"\uE106",@"\uE418",@"\uE417",@"\uE40D",@"\uE40A",@"\uE404",@"\uE105",@"\uE409",@"\uE40E",@"\uE402",@"\uE108",@"\uE403",@"\uE058",@"\uE407",@"\uE401",@"\uE40F",@"\uE40B",@"\uE406",@"\uE413",@"\uE411",@"\uE412",@"\uE410",@"\uE107",@"\uE059",@"\uE416",@"\uE408",@"\uE40C",@"\uE11A",@"\uE10C",@"\uE32C",@"\uE32A",@"\uE32D",@"\uE328",@"\uE32B",@"\uE022",@"\uE023",@"\uE327",@"\uE329",@"\uE32E",@"\uE335",@"\uE334",@"\uE337",@"\uE336",@"\uE13C",@"\uE330",@"\uE331",@"\uE326",@"\uE03E",@"\uE11D",@"\uE05A",@"\uE00E",@"\uE421",@"\uE420",@"\uE00D",@"\uE010",@"\uE011",@"\uE41E",@"\uE012",@"\uE422",@"\uE22E",@"\uE22F",@"\uE231",@"\uE230",@"\uE427",@"\uE41D",@"\uE00F",@"\uE41F",@"\uE14C",@"\uE201",@"\uE115",@"\uE428",@"\uE51F",@"\uE429",@"\uE424",@"\uE423",@"\uE253",@"\uE426",@"\uE111",@"\uE425",@"\uE31E",@"\uE31F",@"\uE31D",@"\uE001",@"\uE002",@"\uE005",@"\uE004",@"\uE51A",@"\uE519",@"\uE518",@"\uE515",@"\uE516",@"\uE517",@"\uE51B",@"\uE152",@"\uE04E",@"\uE51C",@"\uE51E",@"\uE11C",@"\uE536",@"\uE003",@"\uE41C",@"\uE41B",@"\uE419",@"\uE41A",@"\uE436",@"\uE437",@"\uE438",@"\uE43A",@"\uE439",@"\uE43B",@"\uE117",@"\uE440",@"\uE442",@"\uE446",@"\uE445",@"\uE11B",@"\uE448",@"\uE033",@"\uE112",@"\uE325",@"\uE312",@"\uE310",@"\uE126",@"\uE127",@"\uE008",@"\uE03D",@"\uE00C",@"\uE12A",@"\uE00A",@"\uE00B",@"\uE009",@"\uE316",@"\uE129",@"\uE141",@"\uE142",@"\uE317",@"\uE128",@"\uE14B",@"\uE211",@"\uE114",@"\uE145",@"\uE144",@"\uE03F",@"\uE313",@"\uE116",@"\uE10F",@"\uE104",@"\uE103",@"\uE101",@"\uE102",@"\uE13F",@"\uE140",@"\uE11F",@"\uE12F",@"\uE031",@"\uE30E",@"\uE311",@"\uE113",@"\uE30F",@"\uE13B",@"\uE42B",@"\uE42A",@"\uE018",@"\uE016",@"\uE015",@"\uE014",@"\uE42C",@"\uE42D",@"\uE017",@"\uE013",@"\uE20E",@"\uE20C",@"\uE20F",@"\uE20D",@"\uE131",@"\uE12B",@"\uE130",@"\uE12D",@"\uE324",@"\uE301",@"\uE148",@"\uE502",@"\uE03C",@"\uE30A",@"\uE042",@"\uE040",@"\uE041",@"\uE12C",@"\uE007",@"\uE31A",@"\uE13E",@"\uE31B",@"\uE006",@"\uE302",@"\uE319",@"\uE321",@"\uE322",@"\uE314",@"\uE503",@"\uE10E",@"\uE318",@"\uE43C",@"\uE11E",@"\uE323",@"\uE31C",@"\uE034",@"\uE035",@"\uE045",@"\uE338",@"\uE047",@"\uE30C",@"\uE044",@"\uE30B",@"\uE043",@"\uE120",@"\uE33B",@"\uE33F",@"\uE341",@"\uE34C",@"\uE344",@"\uE342",@"\uE33D",@"\uE33E",@"\uE340",@"\uE34D",@"\uE339",@"\uE147",@"\uE343",@"\uE33C",@"\uE33A",@"\uE43F",@"\uE34B",@"\uE046",@"\uE345",@"\uE346",@"\uE348",@"\uE347",@"\uE34A",@"\uE349",@"\uE04A",@"\uE04B",@"\uE049",@"\uE048",@"\uE04C",@"\uE13D",@"\uE443",@"\uE43E",@"\uE04F",@"\uE052",@"\uE053",@"\uE524",@"\uE52C",@"\uE52A",@"\uE531",@"\uE050",@"\uE527",@"\uE051",@"\uE10B",@"\uE52B",@"\uE52F",@"\uE109",@"\uE528",@"\uE01A",@"\uE134",@"\uE530",@"\uE529",@"\uE526",@"\uE52D",@"\uE521",@"\uE523",@"\uE52E",@"\uE055",@"\uE525",@"\uE10A",@"\uE522",@"\uE019",@"\uE054",@"\uE520",@"\uE306",@"\uE030",@"\uE304",@"\uE110",@"\uE032",@"\uE305",@"\uE303",@"\uE118",@"\uE447",@"\uE119",@"\uE307",@"\uE308",@"\uE444",@"\uE441",@"\uE21C",@"\uE21D",@"\uE21E",@"\uE21F",@"\uE220",@"\uE221",@"\uE222",@"\uE223",@"\uE224",@"\uE225",@"\uE210",@"\uE232",@"\uE233",@"\uE235",@"\uE234",@"\uE236",@"\uE237",@"\uE238",@"\uE239",@"\uE23B",@"\uE23A",@"\uE23D",@"\uE23C",@"\uE24D",@"\uE212",@"\uE24C",@"\uE213",@"\uE214",@"\uE507",@"\uE203",@"\uE20B",@"\uE22A",@"\uE22B",@"\uE226",@"\uE227",@"\uE22C",@"\uE22D",@"\uE215",@"\uE216",@"\uE217",@"\uE218",@"\uE228",@"\uE151",@"\uE138",@"\uE139",@"\uE13A",@"\uE208",@"\uE14F",@"\uE20A",@"\uE434",@"\uE309",@"\uE315",@"\uE30D",@"\uE207",@"\uE229",@"\uE206",@"\uE205",@"\uE204",@"\uE12E",@"\uE250",@"\uE251",@"\uE14A",@"\uE149",@"\uE23F",@"\uE240",@"\uE241",@"\uE242",@"\uE243",@"\uE244",@"\uE245",@"\uE246",@"\uE247",@"\uE248",@"\uE249",@"\uE24A",@"\uE24B",@"\uE23E",@"\uE532",@"\uE533",@"\uE534",@"\uE535",@"\uE21A",@"\uE219",@"\uE21B",@"\uE02F",@"\uE024",@"\uE025",@"\uE026",@"\uE027",@"\uE028",@"\uE029",@"\uE02A",@"\uE02B",@"\uE02C",@"\uE02D",@"\uE02E",@"\uE332",@"\uE333",@"\uE24E",@"\uE24F",@"\uE537",@"\uE036",@"\uE157",@"\uE038",@"\uE153",@"\uE155",@"\uE14D",@"\uE156",@"\uE501",@"\uE158",@"\uE43D",@"\uE037",@"\uE504",@"\uE44A",@"\uE146",@"\uE154",@"\uE505",@"\uE506",@"\uE122",@"\uE508",@"\uE509",@"\uE03B",@"\uE04D",@"\uE449",@"\uE44B",@"\uE51D",@"\uE44C",@"\uE124",@"\uE121",@"\uE433",@"\uE202",@"\uE135",@"\uE01C",@"\uE01D",@"\uE10D",@"\uE136",@"\uE42E",@"\uE01B",@"\uE15A",@"\uE159",@"\uE432",@"\uE430",@"\uE431",@"\uE42F",@"\uE01E",@"\uE039",@"\uE435",@"\uE01F",@"\uE125",@"\uE03A",@"\uE14E",@"\uE252",@"\uE137",@"\uE209",@"\uE133",@"\uE150",@"\uE320",@"\uE123",@"\uE132",@"\uE143",@"\uE50B",@"\uE514",@"\uE513",@"\uE50C",@"\uE50D",@"\uE511",@"\uE50F",@"\uE512",@"\uE510",@"\uE50E", nil];
     
     return [arr autorelease];
     }*/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //- (NSArray *)ios5EmojiArray {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //    //1-108
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //    NSArray *arr1 = [[NSArray alloc] initWithObjects:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //                    @"\xF0\x9F\x98\x84",@"\xF0\x9F\x98\x8A",@"\xF0\x9F\x98\x83",@"\xE2\x98\xBA",@"\xF0\x9F\x98\x89",@"\xF0\x9F\x98\x8D",@"\xF0\x9F\x98\x98",@"\xF0\x9F\x98\x9A",@"\xF0\x9F\x98\xB3",@"\xF0\x9F\x98\x8C",@"\xF0\x9F\x98\x81",@"\xF0\x9F\x98\x9C",@"\xF0\x9F\x98\x9D",@"\xF0\x9F\x98\x92",@"\xF0\x9F\x98\x8F",@"\xF0\x9F\x98\x93",@"\xF0\x9F\x98\x94",@"\xF0\x9F\x98\x9E",@"\xF0\x9F\x98\x96",@"\xF0\x9F\x98\xA5",@"\xF0\x9F\x98\xB0",@"\xF0\x9F\x98\xA8",@"\xF0\x9F\x98\xA3",@"\xF0\x9F\x98\xA2",@"\xF0\x9F\x98\xAD",@"\xF0\x9F\x98\x82",@"\xF0\x9F\x98\xB2",@"\xF0\x9F\x98\xB1",@"\xF0\x9F\x98\xA0",@"\xF0\x9F\x98\xA1",@"\xF0\x9F\x98\xAA",@"\xF0\x9F\x98\xB7",@"\xF0\x9F\x91\xBF",@"\xF0\x9F\x91\xBD",@"\xF0\x9F\x92\x9B",@"\xF0\x9F\x92\x99",@"\xF0\x9F\x92\x9C",@"\xF0\x9F\x92\x97",@"\xF0\x9F\x92\x9A",@"\xE2\x9D\xA4",@"\xF0\x9F\x92\x94",@"\xF0\x9F\x92\x93",@"\xF0\x9F\x92\x98",@"\xE2\x9C\xA8",@"\xF0\x9F\x8C\x9F",@"\xF0\x9F\x92\xA2",@"\xE2\x9D\x95",@"\xE2\x9D\x94",@"\xF0\x9F\x92\xA4",@"\xF0\x9F\x92\xA8",@"\xF0\x9F\x92\xA6",@"\xF0\x9F\x8E\xB6",@"\xF0\x9F\x8E\xB5",@"\xF0\x9F\x94\xA5",@"\xF0\x9F\x92\xA9",@"\xF0\x9F\x91\x8D",@"\xF0\x9F\x91\x8E",@"\xF0\x9F\x91\x8C",@"\xF0\x9F\x91\x8A",@"\xE2\x9C\x8A",@"\xE2\x9C\x8C",@"\xF0\x9F\x91\x8B",@"\xE2\x9C\x8B",@"\xF0\x9F\x91\x90",@"\xF0\x9F\x91\x86",@"\xF0\x9F\x91\x87",@"\xF0\x9F\x91\x89",@"\xF0\x9F\x91\x88",@"\xF0\x9F\x99\x8C",@"\xF0\x9F\x99\x8F",@"\xE2\x98\x9D",@"\xF0\x9F\x91\x8F",@"\xF0\x9F\x92\xAA",@"\xF0\x9F\x9A\xB6",@"\xF0\x9F\x8F\x83",@"\xF0\x9F\x91\xAB",@"\xF0\x9F\x92\x83",@"\xF0\x9F\x91\xAF",@"\xF0\x9F\x99\x86",@"\xF0\x9F\x99\x85",@"\xF0\x9F\x92\x81",@"\xF0\x9F\x99\x87",@"\xF0\x9F\x92\x8F",@"\xF0\x9F\x92\x91",@"\xF0\x9F\x92\x86",@"\xF0\x9F\x92\x87",@"\xF0\x9F\x92\x85",@"\xF0\x9F\x91\xA6",@"\xF0\x9F\x91\xA7",@"\xF0\x9F\x91\xA9",@"\xF0\x9F\x91\xA8",@"\xF0\x9F\x91\xB6",@"\xF0\x9F\x91\xB5",@"\xF0\x9F\x91\xB4",@"\xF0\x9F\x91\xB1",@"\xF0\x9F\x91\xB2",@"\xF0\x9F\x91\xB3",@"\xF0\x9F\x91\xB7",@"\xF0\x9F\x91\xAE",@"\xF0\x9F\x91\xBC",@"\xF0\x9F\x91\xB8",@"\xF0\x9F\x92\x82",@"\xF0\x9F\x92\x80",@"\xF0\x9F\x91\xA3",@"\xF0\x9F\x92\x8B",@"\xF0\x9F\x91\x84",@"\xF0\x9F\x91\x82",@"\xF0\x9F\x91\x80",@"\xF0\x9F\x91\x83",@"\xF0\x9F\x8E\x8D",@"\xF0\x9F\x92\x9D",@"\xF0\x9F\x8E\x8E",@"\xF0\x9F\x8E\x92",@"\xF0\x9F\x8E\x93",@"\xF0\x9F\x8E\x8F",@"\xF0\x9F\x8E\x86",@"\xF0\x9F\x8E\x87",@"\xF0\x9F\x8E\x90",@"\xF0\x9F\x8E\x91",@"\xF0\x9F\x8E\x83",@"\xF0\x9F\x91\xBB",@"\xF0\x9F\x8E\x85",@"\xF0\x9F\x8E\x84",@"\xF0\x9F\x8E\x81",@"\xF0\x9F\x94\x94",@"\xF0\x9F\x8E\x89",@"\xF0\x9F\x8E\x88",@"\xF0\x9F\x92\xBF",@"\xF0\x9F\x93\x80",@"\xF0\x9F\x93\xB7",@"\xF0\x9F\x8E\xA5",@"\xF0\x9F\x92\xBB",@"\xF0\x9F\x93\xBA",@"\xF0\x9F\x93\xB1",@"\xF0\x9F\x93\xA0",@"\xE2\x98\x8E",@"\xF0\x9F\x92\xBD",@"\xF0\x9F\x93\xBC",@"\xF0\x9F\x94\x8A",@"\xF0\x9F\x93\xA2",@"\xF0\x9F\x93\xA3",@"\xF0\x9F\x93\xBB",@"\xF0\x9F\x93\xA1",@"\xE2\x9E\xBF",@"\xF0\x9F\x94\x8D",@"\xF0\x9F\x94\x93",@"\xF0\x9F\x94\x92",@"\xF0\x9F\x94\x91",@"\xE2\x9C\x82",@"\xF0\x9F\x94\xA8",@"\xF0\x9F\x92\xA1",@"\xF0\x9F\x93\xB2",@"\xF0\x9F\x93\xA9",@"\xF0\x9F\x93\xAB",@"\xF0\x9F\x93\xAE",@"\xF0\x9F\x9B\x80",@"\xF0\x9F\x9A\xBD",@"\xF0\x9F\x92\xBA",@"\xF0\x9F\x92\xB0",@"\xF0\x9F\x94\xB1",@"\xF0\x9F\x9A\xAC",@"\xF0\x9F\x92\xA3",@"\xF0\x9F\x94\xAB",@"\xF0\x9F\x92\x8A",@"\xF0\x9F\x92\x89",@"\xF0\x9F\x8F\x88",@"\xF0\x9F\x8F\x80",@"\xE2\x9A\xBD",@"\xE2\x9A\xBE",@"\xF0\x9F\x8E\xBE",@"\xE2\x9B\xB3",@"\xF0\x9F\x8E\xB1",@"\xF0\x9F\x8F\x8A",@"\xF0\x9F\x8F\x84",@"\xF0\x9F\x8E\xBF",@"\xE2\x99\xA0",@"\xE2\x99\xA5",@"\xE2\x99\xA3",@"\xE2\x99\xA6",@"\xF0\x9F\x8F\x86",@"\xF0\x9F\x91\xBE",@"\xF0\x9F\x8E\xAF",@"\xF0\x9F\x80\x84",@"\xF0\x9F\x8E\xAC",@"\xF0\x9F\x93\x9D",@"\xF0\x9F\x93\x96",@"\xF0\x9F\x8E\xA8",@"\xF0\x9F\x8E\xA4",@"\xF0\x9F\x8E\xA7",@"\xF0\x9F\x8E\xBA",@"\xF0\x9F\x8E\xB7",@"\xF0\x9F\x8E\xB8",@"\xE3\x80\xBD",@"\xF0\x9F\x91\x9F",@"\xF0\x9F\x91\xA1",@"\xF0\x9F\x91\xA0",@"\xF0\x9F\x91\xA2",@"\xF0\x9F\x91\x95",@"\xF0\x9F\x91\x94",@"\xF0\x9F\x91\x97",@"\xF0\x9F\x91\x98",@"\xF0\x9F\x91\x99",@"\xF0\x9F\x8E\x80",@"\xF0\x9F\x8E\xA9",@"\xF0\x9F\x91\x91",@"\xF0\x9F\x91\x92",@"\xF0\x9F\x8C\x82",@"\xF0\x9F\x92\xBC",@"\xF0\x9F\x91\x9C",@"\xF0\x9F\x92\x84",@"\xF0\x9F\x92\x8D",@"\xF0\x9F\x92\x8E",@"\xE2\x98\x95",@"\xF0\x9F\x8D\xB5",@"\xF0\x9F\x8D\xBA",@"\xF0\x9F\x8D\xBB",@"\xF0\x9F\x8D\xB8",@"\xF0\x9F\x8D\xB6",@"\xF0\x9F\x8D\xB4",@"\xF0\x9F\x8D\x94",@"\xF0\x9F\x8D\x9F",@"\xF0\x9F\x8D\x9D",@"\xF0\x9F\x8D\x9B",@"\xF0\x9F\x8D\xB1",@"\xF0\x9F\x8D\xA3",@"\xF0\x9F\x8D\x99",@"\xF0\x9F\x8D\x98",@"\xF0\x9F\x8D\x9A",@"\xF0\x9F\x8D\x9C",@"\xF0\x9F\x8D\xB2",@"\xF0\x9F\x8D\x9E",@"\xF0\x9F\x8D\xB3",@"\xF0\x9F\x8D\xA2",@"\xF0\x9F\x8D\xA1",@"\xF0\x9F\x8D\xA6",@"\xF0\x9F\x8D\xA7",@"\xF0\x9F\x8E\x82",@"\xF0\x9F\x8D\xB0",@"\xF0\x9F\x8D\x8E",@"\xF0\x9F\x8D\x8A",@"\xF0\x9F\x8D\x89",@"\xF0\x9F\x8D\x93",@"\xF0\x9F\x8D\x86",@"\xF0\x9F\x8D\x85",@"\xE2\x98\x80",@"\xE2\x98\x94",@"\xE2\x98\x81",@"\xE2\x9B\x84",@"\xF0\x9F\x8C\x99",@"\xE2\x9A\xA1",@"\xF0\x9F\x8C\x80",@"\xF0\x9F\x8C\x8A",@"\xF0\x9F\x90\xB1",@"\xF0\x9F\x90\xB6",@"\xF0\x9F\x90\xAD",@"\xF0\x9F\x90\xB9",@"\xF0\x9F\x90\xB0",@"\xF0\x9F\x90\xBA",@"\xF0\x9F\x90\xB8",@"\xF0\x9F\x90\xAF",@"\xF0\x9F\x90\xA8",@"\xF0\x9F\x90\xBB",@"\xF0\x9F\x90\xB7",@"\xF0\x9F\x90\xAE",@"\xF0\x9F\x90\x97",@"\xF0\x9F\x90\xB5",@"\xF0\x9F\x90\x92",@"\xF0\x9F\x90\xB4",@"\xF0\x9F\x90\x8E",@"\xF0\x9F\x90\xAB",@"\xF0\x9F\x90\x91",@"\xF0\x9F\x90\x98",@"\xF0\x9F\x90\x8D",@"\xF0\x9F\x90\xA6",@"\xF0\x9F\x90\xA4",@"\xF0\x9F\x90\x94",@"\xF0\x9F\x90\xA7",@"\xF0\x9F\x90\x9B",@"\xF0\x9F\x90\x99",@"\xF0\x9F\x90\xA0",@"\xF0\x9F\x90\x9F",@"\xF0\x9F\x90\xB3",@"\xF0\x9F\x90\xAC",@"\xF0\x9F\x92\x90",@"\xF0\x9F\x8C\xB8",@"\xF0\x9F\x8C\xB7",@"\xF0\x9F\x8D\x80",@"\xF0\x9F\x8C\xB9",@"\xF0\x9F\x8C\xBB",@"\xF0\x9F\x8C\xBA",@"\xF0\x9F\x8D\x81",@"\xF0\x9F\x8D\x83",@"\xF0\x9F\x8D\x82",@"\xF0\x9F\x8C\xB4",@"\xF0\x9F\x8C\xB5",@"\xF0\x9F\x8C\xBE",@"\xF0\x9F\x90\x9A",@"\x31\xE2\x83\xA3",@"\x32\xE2\x83\xA3",@"\x33\xE2\x83\xA3",@"\x34\xE2\x83\xA3",@"\x35\xE2\x83\xA3",@"\x36\xE2\x83\xA3",@"\x37\xE2\x83\xA3",@"\x38\xE2\x83\xA3",@"\x39\xE2\x83\xA3",@"\x30\xE2\x83\xA3",@"\x23\xE2\x83\xA3",@"\xE2\xAC\x86",@"\xE2\xAC\x87",@"\xE2\xAC\x85",@"\xE2\x9E\xA1",@"\xE2\x86\x97",@"\xE2\x86\x96",@"\xE2\x86\x98",@"\xE2\x86\x99",@"\xE2\x97\x80",@"\xE2\x96\xB6",@"\xE2\x8F\xAA",@"\xE2\x8F\xA9",@"\xF0\x9F\x86\x97",@"\xF0\x9F\x86\x95",@"\xF0\x9F\x94\x9D",@"\xF0\x9F\x86\x99",@"\xF0\x9F\x86\x92",@"\xF0\x9F\x8E\xA6",@"\xF0\x9F\x88\x81",@"\xF0\x9F\x93\xB6",@"\xF0\x9F\x88\xB5",@"\xF0\x9F\x88\xB3",@"\xF0\x9F\x89\x90",@"\xF0\x9F\x88\xB9",@"\xF0\x9F\x88\xAF",@"\xF0\x9F\x88\xBA",@"\xF0\x9F\x88\xB6",@"\xF0\x9F\x88\x9A",@"\xF0\x9F\x88\xB7",@"\xF0\x9F\x88\xB8",@"\xF0\x9F\x88\x82",@"\xF0\x9F\x9A\xBB",@"\xF0\x9F\x9A\xB9",@"\xF0\x9F\x9A\xBA",@"\xF0\x9F\x9A\xBC",@"\xF0\x9F\x9A\xAD",@"\xF0\x9F\x85\xBF",@"\xE2\x99\xBF",@"\xF0\x9F\x9A\x87",@"\xF0\x9F\x9A\xBE",@"\xE3\x8A\x99",@"\xE3\x8A\x97",@"\xF0\x9F\x94\x9E",@"\xF0\x9F\x86\x94",@"\xE2\x9C\xB3",@"\xE2\x9C\xB4",@"\xF0\x9F\x92\x9F",@"\xF0\x9F\x86\x9A",@"\xF0\x9F\x93\xB3",@"\xF0\x9F\x93\xB4",@"\xF0\x9F\x92\xB9",@"\xF0\x9F\x92\xB1",@"\xE2\x99\x88",@"\xE2\x99\x89",@"\xE2\x99\x8A",@"\xE2\x99\x8B",@"\xE2\x99\x8C",@"\xE2\x99\x8D",@"\xE2\x99\x8E",@"\xE2\x99\x8F",@"\xE2\x99\x90",@"\xE2\x99\x91",@"\xE2\x99\x92",@"\xE2\x99\x93",@"\xE2\x9B\x8E",@"\xF0\x9F\x94\xAF",@"\xF0\x9F\x85\xB0",@"\xF0\x9F\x85\xB1",@"\xF0\x9F\x86\x8E",@"\xF0\x9F\x85\xBE",@"\xF0\x9F\x94\xB2",@"\xF0\x9F\x94\xB4",@"\xF0\x9F\x94\xB3",@"\xF0\x9F\x95\x9B",@"\xF0\x9F\x95\x90",@"\xF0\x9F\x95\x91",@"\xF0\x9F\x95\x92",@"\xF0\x9F\x95\x93",@"\xF0\x9F\x95\x94",@"\xF0\x9F\x95\x95",@"\xF0\x9F\x95\x96",@"\xF0\x9F\x95\x97",@"\xF0\x9F\x95\x98",@"\xF0\x9F\x95\x99",@"\xF0\x9F\x95\x9A",@"\xE2\xAD\x95",@"\xE2\x9D\x8C",@"\xC2\xA9",@"\xC2\xAE",@"\xE2\x84\xA2",@"\xF0\x9F\x8F\xA0",@"\xF0\x9F\x8F\xAB",@"\xF0\x9F\x8F\xA2",@"\xF0\x9F\x8F\xA3",@"\xF0\x9F\x8F\xA5",@"\xF0\x9F\x8F\xA6",@"\xF0\x9F\x8F\xAA",@"\xF0\x9F\x8F\xA9",@"\xF0\x9F\x8F\xA8",@"\xF0\x9F\x92\x92",@"\xE2\x9B\xAA",@"\xF0\x9F\x8F\xAC",@"\xF0\x9F\x8C\x87",@"\xF0\x9F\x8C\x86",@"\xF0\x9F\x8F\xA7",@"\xF0\x9F\x8F\xAF",@"\xF0\x9F\x8F\xB0",@"\xE2\x9B\xBA",@"\xF0\x9F\x8F\xAD",@"\xF0\x9F\x97\xBC",@"\xF0\x9F\x97\xBB",@"\xF0\x9F\x8C\x84",@"\xF0\x9F\x8C\x85",@"\xF0\x9F\x8C\x83",@"\xF0\x9F\x97\xBD",@"\xF0\x9F\x8C\x88",@"\xF0\x9F\x8E\xA1",@"\xE2\x9B\xB2",@"\xF0\x9F\x8E\xA2",@"\xF0\x9F\x9A\xA2",@"\xF0\x9F\x9A\xA4",@"\xE2\x9B\xB5",@"\xE2\x9C\x88",@"\xF0\x9F\x9A\x80",@"\xF0\x9F\x9A\xB2",@"\xF0\x9F\x9A\x99",@"\xF0\x9F\x9A\x97",@"\xF0\x9F\x9A\x95",@"\xF0\x9F\x9A\x8C",@"\xF0\x9F\x9A\x93",@"\xF0\x9F\x9A\x92",@"\xF0\x9F\x9A\x91",@"\xF0\x9F\x9A\x9A",@"\xF0\x9F\x9A\x83",@"\xF0\x9F\x9A\x89",@"\xF0\x9F\x9A\x84",@"\xF0\x9F\x9A\x85",@"\xF0\x9F\x8E\xAB",@"\xE2\x9B\xBD",@"\xF0\x9F\x9A\xA5",@"\xE2\x9A\xA0",@"\xF0\x9F\x9A\xA7",@"\xF0\x9F\x94\xB0",@"\xF0\x9F\x8E\xB0",@"\xF0\x9F\x9A\x8F",@"\xF0\x9F\x92\x88",@"\xE2\x99\xA8",@"\xF0\x9F\x8F\x81",@"\xF0\x9F\x8E\x8C",@"\xF0\x9F\x87\xAF\xF0\x9F\x87\xB5",@"\xF0\x9F\x87\xB0\xF0\x9F\x87\xB7",@"\xF0\x9F\x87\xA8\xF0\x9F\x87\xB3",@"\xF0\x9F\x87\xBA\xF0\x9F\x87\xB8",@"\xF0\x9F\x87\xAB\xF0\x9F\x87\xB7",@"\xF0\x9F\x87\xAA\xF0\x9F\x87\xB8",@"\xF0\x9F\x87\xAE\xF0\x9F\x87\xB9",@"\xF0\x9F\x87\xB7\xF0\x9F\x87\xBA",@"\xF0\x9F\x87\xAC\xF0\x9F\x87\xA7",@"\xF0\x9F\x87\xA9\xF0\x9F\x87\xAA", nil];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //    NSLog(@"arr1.count:%d",arr1.count);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //    NSMutableArray *arr = [NSMutableArray arrayWithArray:[arr1 subarrayWithRange:NSMakeRange(0, 109)]];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //    [arr addObjectsFromArray:[arr1 subarrayWithRange:NSMakeRange(193, 18)]];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //    [arr addObjectsFromArray:[arr1 subarrayWithRange:NSMakeRange(467, 71)]];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //    
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //    return arr;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   //}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   @end
